// Copyright (C) 1953-2022 NUDT
// Verilog module name - packet_dispatch_1to2
// Version: V4.1.0.20221212
// Created:
//         by - fenglin
////////////////////////////////////////////////////////////////////////////
// Description:
//         
///////////////////////////////////////////////////////////////////////////

`timescale 1ns/1ps

module packet_dispatch_1to2
(
    i_clk        ,
    i_rst_n      ,
	             
	i_ctrl       ,
                 
    iv_data      ,
	i_data_wr    ,
                 
	ov_data_0    ,
	o_data_wr_0  ,
                 
	ov_data_1    ,
	o_data_wr_1      
);

// I/O
// clk & rst
input                   i_clk          ;
input                   i_rst_n        ; 
                                       
input                   i_ctrl         ;
// pkt input
input	   [8:0]	    iv_data        ;
input	         	    i_data_wr      ;
// pkt output to NMA
output reg [8:0]	    ov_data_0      ;
output reg	            o_data_wr_0    ;

output reg [8:0]	    ov_data_1      ;
output reg	            o_data_wr_1    ;
//***************************************************
//                 packet select
//***************************************************
always @(posedge i_clk or negedge i_rst_n) begin
    if(!i_rst_n)begin
        ov_data_0     <= 9'b0;
        o_data_wr_0   <= 1'b0; 
        
        ov_data_1     <= 9'b0;
        o_data_wr_1   <= 1'b0;
    end
    else begin
        if(!i_ctrl)begin
			ov_data_0     <= iv_data  ;   
			o_data_wr_0   <= i_data_wr;   
            
            ov_data_1     <= 9'b0;
            o_data_wr_1   <= 1'b0;
		end
		else begin
			ov_data_0     <= 9'b0;   
			o_data_wr_0   <= 1'b0;   
            
            ov_data_1     <= iv_data  ;
            o_data_wr_1   <= i_data_wr;			
		end
    end
end
endmodule